js获取本地时间与网络时间 | 您所在的位置:网站首页 › java获取本机时间 获取服务器时间 › js获取本地时间与网络时间 |
js是客户端执行的,所以,js的一切关于时间的函数,如Date.now()都是以客户端为准的,获取的是客户端的时间,即本地时间。 1、本地时间与网络时间本地时间:客户端显示的时间(一般是与网络时间一致,但是电脑时间是可调整的,故可能不准确) js中的Date方法获取的时间就是客户端的时间 网络时间:互联网时间。 当我们有倒计时的需求时,不可能以客户端的时间为准,如果客户端时间不予网络时间一致,整个项目就完蛋了,所以我们需要获取服务端时间 2、网络时间获取方法我们获取服务器时间是发起ajax请求,然后获取请求头即header为准的,方法如下: 2.1 原生js方法日期格式化根据代码 function dateTimeFormate(date){ if(!date){ return }else{ var d = new Date(date); var year = d.getFullYear(); var month = ('0' + (d.getMonth() + 1)).slice(-2); var day = ('0' + (d.getDate())).slice(-2); var hour = ('0' + (d.getHours())).slice(-2); var minutes = ('0' + (d.getMinutes())).slice(-2); var seconds = ('0' + (d.getSeconds())).slice(-2); return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds; } }js发送请求 var xhr = new XMLHttpRequest(); if( !xhr ){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("HEAD",location.href,true); xhr.onreadystatechange=function(){ if( xhr.readyState == 4 && xhr.status == 200 ){ alert(dateTimeFormate(xhr.getResponseHeader("Date"))); } } xhr.send(null); 2.2 使用jquery获取网络时间调用方法 dateTimeFormate($.ajax({async:false}).getResponseHeader("Date"))格式化时间方法 function dateTimeFormate(date){ if(!date){ return }else{ var d = new Date(date); var year = d.getFullYear(); var month = ('0' + (d.getMonth() + 1)).slice(-2); var day = ('0' + (d.getDate())).slice(-2); var hour = ('0' + (d.getHours())).slice(-2); var minutes = ('0' + (d.getMinutes())).slice(-2); var seconds = ('0' + (d.getSeconds())).slice(-2); return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds; } } |
CopyRight 2018-2019 实验室设备网 版权所有 |